package com.medeiros.upmoney.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

public class MetaTest_percentualValor {

	@Test
	public void teste_50(){
		Limite meta = new Limite();
		Calendar dataInicio = createCalendar(1,3);
		meta.setInicio(dataInicio);

		BigDecimal resultado = meta.getPercentualValor(createCalendar(15,3));
		Assert.assertEquals(0.5, resultado.doubleValue(), 0.009);
	}
	
	@Test
	public void teste_20(){
		Limite meta = new Limite();
		Calendar dataInicio = createCalendar(1,3);
		meta.setInicio(dataInicio);
		
		BigDecimal resultado = meta.getPercentualValor(createCalendar(6,3));
		Assert.assertEquals(0.2, resultado.doubleValue(), 0.009);
	}

	@Test
	public void teste_100(){
		Limite meta = new Limite();
		Calendar dataInicio = createCalendar(1,3);
		meta.setInicio(dataInicio);
		
		BigDecimal resultado = meta.getPercentualValor(createCalendar(30,3));
		Assert.assertEquals(1, resultado.doubleValue(), 0.009);
	}
	
	private Calendar createCalendar(int dia, int mes) {
		Calendar dataInicio = Calendar.getInstance();
		dataInicio.set(Calendar.DAY_OF_MONTH, dia);
		dataInicio.set(Calendar.MONTH, mes);
		return dataInicio;
	}
	
}
